package cc.rengu.igas.bomp.common.dao;

import cc.rengu.igas.bomp.common.entity.InspectTaskInfo;
import cc.rengu.oltp.utility.bean.PageInfo;
import cc.rengu.oltp.utility.bean.PageResult;

/**
 * 巡检任务信息表操作接口类
 * Created by 王成 on 2020/3/5
 * Updated by zhangxuran on 2020/03/31
 */
public interface InspectTaskInfoMapper {
    /**
     * 登记巡检任务信息
     *
     * @param inspectTaskInfo 巡检任务信息
     * @return 0-成功，其它-失败
     * @throws Exception 异常
     */
    int insertInspectTaskInfo(InspectTaskInfo inspectTaskInfo) throws Exception;

    /**
     * 更新巡检任务信息
     *
     * @param inspectTaskInfo 巡检任务信息
     * @return 0-成功，其它-失败
     * @throws Exception 异常
     */
    int updateInspectTaskInfoById(InspectTaskInfo inspectTaskInfo) throws Exception;

    /**
     * 根据非业务主键查询巡检任务信息
     *
     * @param instId 多法人标识
     * @param id     非业务主键
     * @return 巡检任务信息
     * @throws Exception 异常
     */
    InspectTaskInfo selectInspectTaskInfoById(String instId, String id) throws Exception;

    /**
     * 根据主键查询巡检任务信息
     *
     * @param instId        多法人标识
     * @param inspectTaskNo 巡检信息编号
     * @return 巡检任务信息
     * @throws Exception 异常
     */
    InspectTaskInfo selectInspectTaskInfoByPrimaryKey(String instId, String inspectTaskNo) throws Exception;

    /**
     * 根据主键查询巡检任务信息
     *
     * @param instId 多法人标识
     * @return 巡检任务信息
     * @throws Exception 异常
     */
    PageResult selectBompInspectTaskInfoByInstId(String instId, String orgCode, String startDate, String endDate, String empNo, PageInfo pageInfo) throws Exception;
}
